﻿@{
    ViewData["Title"] = "系统日志-系统管理";
    Layout = "~/Views/Shared/_Layout.cshtml";
    ViewBag.CurrentMenuP = "Safety";
    ViewBag.CurrentMenu = "Log/List";
}
<div class="row">
    <div class="col-12">
        <div class="card">
            <div class="card-body">
                <div id="toolbar" class="btn-group">
                    @if (@ViewBag.AuthorizeKey.CanDelete)
                    {
                        <button id="btn_delete" type="button" class="btn btn-danger" onclick="DeleteByIds('/Security/Log/DeleteByIds')">
                            <i class="fas fa-trash-alt" aria-hidden="true"></i>删除
                        </button>
                    }
                </div>
                <table id="tbGrid"></table>
            </div>
            <!-- /.card-body -->
        </div>
        <!-- /.card -->
    </div>
</div>

<!-- page script -->
<script>
    $(function () {
        //1.初始化Table
        var oTable = new TableInit();
        oTable.Init();
    });

    var $table = $('#tbGrid');
    var TableInit = function () {
        var oTableInit = new Object();
        var keywords = "";
        //初始化Table
        oTableInit.Init = function () {
            $table.bootstrapTable({
                url: '/Security/Log/FindWithPager',         //请求后台的URL（*）
                method: 'get',                      //请求方式（*）
                toolbar: '#toolbar',                //工具按钮用哪个容器
                striped: true,                      //是否显示行间隔色
                cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
                pagination: true,                   //是否显示分页（*）
                sortable: true,                     //是否启用排序
                sortOrder: "desc",                   //排序方式
                queryParams: oTableInit.queryParams,//传递参数（*）
                sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
                pageNumber: 1,                       //初始化加载第一页，默认第一页
                pageSize: 25,                       //每页的记录行数（*）
                pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
                search: true,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
                strictSearch: true,
                showColumns: true,                  //是否显示所有的列
                showRefresh: true,                  //是否显示刷新按钮
                minimumCountColumns: 2,             //最少允许的列数
                clickToSelect: true,                //是否启用点击选中行
                //height: $(window).height(),                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
                uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
                showToggle: true,                    //是否显示详细视图和列表视图的切换按钮
                cardView: false,                    //是否显示详细视图
                detailView: false,                   //是否显示父子表
                searchOnEnterKey: true,
                searchText: keywords,
                columns: [
                    {
                        checkbox: true
                    }, {
                        field: 'Date',
                        title: '操作时间',
                        sortable: true,
                        searchable: true,
                        width: 100,
                        formatter: function (value, row, index) {
                            if (value != null)
                                return value.substring(0, 20);
                        }
                    }, {
                        field: 'Account',
                        title: '账号',
                        sortable: true,
                        searchable: true,
                        width: 100,
                    }, {
                        field: 'NickName',
                        title: '姓名',
                        sortable: true,
                        searchable: true,
                        width: 100,
                    }, {
                        field: 'ModuleName',
                        title: '操作模块',
                        sortable: true,
                        searchable: true,
                        width: 100,
                    }, {
                        field: 'Type',
                        title: '类型',
                        sortable: true,
                        searchable: true,
                        width: 80,
                    }, {
                        field: 'IPAddress',
                        title: 'IP地址',
                        sortable: true,
                        searchable: true,
                        width: 120,
                    }, {
                        field: 'IPAddressName',
                        title: 'IP城市',
                        sortable: true,
                        searchable: true,
                        width: 150,
                    }, {
                        field: 'Description',
                        title: '日志内容',
                        sortable: true,
                        searchable: true
                    }
                ],
                onSearch: function (text) {
                    keywords = text;
                    return true;
                },
            });
        };

        //得到查询的参数
        oTableInit.queryParams = function (params) {
            var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
                limit: params.limit,   //页面大小
                offset: params.offset,  //页码
                order: params.order,
                sort: params.sort,
                search: $("input[ name='search_text' ] ").val(), //定义传输的搜索参数
            };
            return temp;
        };
        return oTableInit;
    };


</script>


